package com.etc.dao;

import com.etc.entity.Orders;
import com.etc.entity.Showings;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface ShowingsDao {
    int deleteByPrimaryKey(Integer showing_no);

    int insert(Showings record);

    int insertSelective(Showings record);

    Showings selectByPrimaryKey(Integer showing_no);

    int updateByPrimaryKeySelective(Showings record);

    int updateByPrimaryKey(Showings record);

    /**
     * @param 'showNo' 上映场次
     * @return 返回一个showing对象, 查询对应厅的总座位数
     * @author luliang
     */
    Showings queryShowSeat(@Param("showNo") int showNo);

    /**
     * @param 'showNo' 上映场次
     * @return 返回一个数组, 查询对应厅的总座位数
     * @author luliang
     */
    List<Orders> querySellSeatByShowNo(@Param("showNo") int showNo);

    /**
     * @param movieNo 电影序号
     * @param day     今日,明日,后日的参考,0今天,1明天,2后天
     * @return 上映表集合
     * @author luliang
     */
    List<Showings> queryShowingsByMovieAndDay(@Param("movieNo") int movieNo, @Param("day") int day);

    /**
     * @param showNo 上映序号
     *               根据上映序号删除座位数量
     * @author luliang
     */
    int delSeatByShwoingNo(@Param("showNo") int showNo);

    /**
     * 添加场次
     *
     * @param showings 场次数据
     * @return int
     */
    int addShowing(Showings showings);

    /**
     * 查询全部场次
     *
     * @return List<Showings>
     */
    List<Showings> queryAll();

    /**
     * 删除场次
     */
    int delShowing(Integer showing_no);

    /**
     * 根据影厅表删除场次
     *
     * @param cinema_no
     * @return
     */
    int delByCinema(Integer cinema_no);
}